Universal Chess Interface
   HOME

TheInfoList



OR:

The Universal Chess Interface (UCI) is an open
communication protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchroniza ...
that enables
chess engine In computer chess, a chess engine is a computer program that analyzes chess or chess variant positions, and generates a move or list of moves that it regards as strongest. A chess engine is usually a back end with a command-line interface wit ...
s to communicate with
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
s.


History

In November 2000, the UCI protocol was released. Designed by Rudolf Huber and
Stefan Meyer-Kahlen Stefan Meyer-Kahlen (born 1968, in Düsseldorf) is a German programmer of the computer chess program '' Shredder''. , his program had won 18 titles as World Computer Chess Champion. Four of the titles were blitz championships, and one was a Ch ...
, the author of Shredder, UCI rivals the older "Chess Engine Communication Protocol" introduced with XBoard/WinBoard. In 2002, Chessbase, the chess software company which markets
Fritz Fritz originated as a German nickname for Friedrich, or Frederick (''Der Alte Fritz'', and ''Stary Fryc'' were common nicknames for King Frederick II of Prussia and Frederick III, German Emperor) as well as for similar names including Fridolin a ...
, began to support UCI, which had previously been supported by only a few interfaces and engines. , well over 300 engines are known to directly support UCI.


Design

By design, UCI assigns some tasks to the user interface (i.e., presentation layer) which have traditionally been handled by the engine (at the business layer) itself. Most notably, the
opening book A chess opening book is a book on chess openings. This is by far the most common type of literature on chess. These books describe many major lines, like the Sicilian Defence, Ruy Lopez, and Queen's Gambit, as well many minor variations of the ma ...
is usually expected to be handled by the UI, by simply selecting moves to play until it is out of book, and only then starting up the engine for calculation in the resulting position. UCI does not specify any on-disk format for the opening book. Different UIs usually have their own proprietary formats. While the UI can also take responsibility for handling
endgame tablebase An endgame tablebase is a computerized database that contains precalculated exhaustive analysis of chess endgame positions. It is typically used by a computer chess engine during play, or by a human or computer that is retrospectively analysin ...
s, this is arguably better handled in the engine itself, as having tablebase information can be useful for considering possible future positions. Stefan-Meyer Kahlen's UCI protocol in Shredder uses a variation of long algebraic notation for moves. A "nullmove" from the Engine to the GUI should be sent as 0000. ;Examples: *e2e4 *e7e5 *e1g1 (white short castling) *e7e8q (for promotion)


Features

The uci_limitstrength parameter tells engines with this feature to play at a lower level. The uci_elo parameter specifies the
Elo rating The Elo rating system is a method for calculating the relative skill levels of players in zero-sum games such as chess. It is named after its creator Arpad Elo, a Hungarian-American physics professor. The Elo system was invented as an improved ch ...
at which the engine will aim to play. Engines that have implemented uci_elo include
Delfi Delfi may refer to * Delfi (web portal), internet portal in Estonia, Latvia, and Lithuania * Delfi (chess), chess engine * Delfi bookstores, a chain of bookstores in Serbia * Delfi Limited, a Singaporean confectionery company See also * Delphi ...
,
Fritz Fritz originated as a German nickname for Friedrich, or Frederick (''Der Alte Fritz'', and ''Stary Fryc'' were common nicknames for King Frederick II of Prussia and Frederick III, German Emperor) as well as for similar names including Fridolin a ...
, Hiarcs,
Houdini Harry Houdini (, born Erik Weisz; March 24, 1874 – October 31, 1926) was a Hungarian-American escape artist, magic man, and stunt performer, noted for his escape acts. His pseudonym is a reference to his spiritual master, French magician ...
,
Junior Junior or Juniors may refer to: Arts and entertainment Music * ''Junior'' (Junior Mance album), 1959 * ''Junior'' (Röyksopp album), 2009 * ''Junior'' (Kaki King album), 2010 * ''Junior'' (LaFontaines album), 2019 Films * ''Junior'' (1994 ...
, Rybka, Shredder, Sjeng and Stockfish.


Variants

The UCI has been modified to play some
chess variant A chess variant is a game related to, derived from, or inspired by chess. Such variants can differ from chess in many different ways. "International" or "Western" chess itself is one of a family of games which have related origins and could be co ...
s. Some of these are: * Universal Shogi Interface (USI), a dialect for shogi; * Universal Chinese Chess Interface (UCCI), a dialect for
xiangqi ''Xiangqi'' (; ), also called Chinese chess or elephant chess, is a strategy board game for two players. It is the most popular board game in China. ''Xiangqi'' is in the same family of games as '' shogi'', '' janggi'', Western chess, '' ch ...
. Each of these protocols may also define variants of PGN and FEN. The XBoard CECP is said to require far fewer changes to support variants.


See also

*
Chess Engine Communication Protocol In computer chess, a chess engine is a computer program that analyzes chess or chess variant positions, and generates a move or list of moves that it regards as strongest. A chess engine is usually a back end with a command-line interface with n ...
(XBoard protocol) * Shredder *
XBoard XBoard is a graphical user interface chessboard for chess engines under the X Window System. It is developed and maintained as free software by the GNU project. WinBoard is a port of XBoard to run natively on Microsoft Windows. Overview Origin ...


References


External links


List of UCI Engines (continuously updated)
Computer chess {{board-videogame-stub